/* Copyright (c) [2020] [ylc]. Licensed under Apache-2.0 License. */

#ifndef __SHT4X_H
#define __SHT4X_H 

#include "my_define.h"

#define SHT4x_HIGHPRECISION			0xFD								//高精度（高重复性）测量T和RH  [2*8位T-数据；8位CRC；2*8位RH数据；8比特CRC]
#define SHT4x_MEDPRECISION 			0xF6								//中精度（中重复性）测量T和RH  [2*8位T-数据；8位CRC；2*8位RH数据；8比特CRC]
#define SHT4x_LOWPRECISION 			0xE0								//低精度（低重复性）测量T和RH  [2*8位T-数据；8位CRC；2*8位RH数据；8比特CRC]
#define SHT4x_READID				0x89								//读取唯一序列号   [2*8位数据；8位CRC；2*8位数据，8位CRC]
#define SHT4x_SOFTRESET				0x94								//软复位			[ack]
#define SHT4x_HIGHHEAT_1S			0x39								//用200mW激活加热器1s，包括在停用前进行高精度测量[2*8位T-数据；8位CRC；2*8位RH数据；8比特CRC]
#define SHT4x_HIGHHEAT_100MS		0x32								//用200mW激活加热器0.11s，包括在停用前进行高精度测量[2*8位T-数据；8位CRC；2*8位RH数据；8比特CRC]
#define SHT4x_MEDHEAT_1S			0x2F								//用110mW激活加热器1s，包括在停用前进行高精度测量[2*8位T-数据；8位CRC；2*8位RH数据；8比特CRC]
#define SHT4x_MEDHEAT_100MS			0x24								//用110mW激活加热器0.1s，包括在停用前进行高精度测量[2*8位T-数据；8位CRC；2*8位RH数据；8比特CRC]
#define SHT4x_LOWHEAT_1S			0x1E								//用20mW激活加热器1s，包括在停用前进行高精度测量[2*8位T-数据；8位CRC；2*8位RH数据；8比特CRC]
#define SHT4x_LOWHEAT_100MS			0x15								//用20mW激活加热器0.1s，包括在停用前进行高精度测量[2*8位T-数据；8位CRC；2*8位RH数据；8比特CRC]

void sht_init(void);
void sht_cmd_write(u8 cmd);
u8 sht_ack_read(u8 *buf);
u8 sht_crc8(const u8 *data1, u16 len);

#endif















